import Poker from "./Poker"
import UIPoker from "./UIPoker"

/**
 * 游戏牌局的管理者
 */
export default class GameCtrl {

    private pokerPrefab: cc.Prefab = null;
    private pokerContainer: cc.Node = null;

    private pokers: Poker[] = []

    public Init(pokerContainer: cc.Node, pokerPrefab: cc.Prefab) {
        this.pokerContainer = pokerContainer
        this.pokerPrefab = pokerPrefab
    }

    public Start() {
        console.log("Start")
        // 初始化扑克
        for(let point = 1; point <= 13; point++){
            for(let suit = 0; suit < 4; suit++){
                let poker = new Poker(point, suit)
                this.pokers.push(poker)
            }
        }
        console.log(this.pokers)

        // 创建所有扑克牌UI
        this.pokers.forEach(poker => {
            let uiPoker = this.CreateUIPoker(poker)
            this.pokerContainer.addChild(uiPoker.node)
        })
    }

    private CreateUIPoker(poker: Poker): UIPoker {
        let uiPokerNode = cc.instantiate(this.pokerPrefab)
        let uiPoker: UIPoker = uiPokerNode.getComponent(UIPoker)
        uiPoker.Init(poker)
        uiPoker.node.setPosition(Math.random()*400-200, Math.random()*400-200)
        return uiPoker
    }
}
